package hilfsklassen;

import java.util.ArrayList;
import java.util.List;

public class Sortierer4<T extends Comparable<T>> implements MeinSortierer<T> {

	@Override
	public List<T> sortieren(List<T> list) {
		List<T> ergebnis = new ArrayList<T>();
		if (list.isEmpty())
			return ergebnis;
		if (list.size() == 1)
			return list;
		T trenner = list.get(0);
		List<T> erg1 = new ArrayList<T>();
		List<T> erg2 = new ArrayList<T>();
		for (T el : list)
			if (trenner.compareTo(el) < 0)
				erg1.add(el);
			else if (trenner.compareTo(el) > 0)
				erg2.add(el);
		erg1 = sortieren(erg1);
		erg2 = sortieren(erg2);
		ergebnis.addAll(erg1);
		ergebnis.add(trenner);
		ergebnis.addAll(erg2);
		return ergebnis;
	}

}
